package com.shopping.service.trade;

import com.shopping.pojo.Appraise;
import com.shopping.pojo.Order;
import com.shopping.pojo.ShoppingCart;
import com.shopping.pojo.Trade;

import java.util.Map;

public interface TradeService {

    /**
     *  添加商品
     * @param trade
     * @return
     */
    Map<String, Object> addTrade(Trade trade);

    /**
     *  下架商品
     * @param tradeId
     * @return
     */
    Map<String, Object> outOfStock(int tradeId);

    /**
     *  根据 id 精确显示商品参数
     * @param id
     * @return
     */
    Map<String, Object> showTradeMessageById(int id);

    /**
     *  根据店铺及商品名查询商品
     * @param storeId
     * @param tradeName
     * @return
     */
    Map<String, Object> showTradeMessageByStoreAndTradeName(int storeId, String tradeName);

    /**
     *  对所购买商品进行评价
     * @param appraise
     * @return
     */
    Map<String, Object> addAppraise(Appraise appraise);

    /**
     *  用户收藏商品
     * @param tradeId
     * @param fansId
     * @return
     */
    Map<String, Object> addFans(int tradeId, int fansId);

    /**
     *  将商品添加进购物车
     * @param shoppingCart
     * @return
     */
    Map<String, Object> addShoppingCart(ShoppingCart shoppingCart);

    /**
     * 进货（增加库存）
     * @param tradeId
     * @param addNum：所增加的商品数量
     * @return
     */
    Map<String, Object> increaseInventory(int tradeId, int addNum);

    /**
     * 购买商品
     * @return
     */
    Map<String, Object> buyTrade(Order order);

    /**
     * 返回商品种类
     * @return
     */
    Map<String, Object> showTypes();

}
